Walksat in the 2004 SAT Competition
نویسندگان
چکیده
The first convincing demonstration that local search could be used to solve challenging satisfiability problems was provided by the GSAT algorithm [9]. GSAT performs gradient descent search in the space of complete truth assignments, where adjacent assignments differ on a single variable and the objective function is the number of clauses not satisfied by the assignment. Like all local search routines GSAT can become trapped in a local minima. One technique for reducing this problem is to randomly alternate between greedy minimizing moves and “noisy” moves that are randomly selected from the variables that appear in unsatisfied clauses [7]. The Walksat algorithm [8] is based on the insight that such noisy moves could be made the basis for local search. Rather than trying to globally determine the best move, Walksat first randomly chooses an unsatisfied clause, and then selects a variable to flip within the clause. Because Walksat may overlook the best global move it is said to perform hill-climbing rather than gradient descent. The fact that a clause is unsatisfied means that at least one of the variables in the clause must be flipped in order to reach a global solution. If variables are chosen randomly from the clause and the clause length is bounded by a constant k it is easy to see that each flip as a 1/k or better chance of being correct. When k = 2 a pure random walk strategy will solve a satisfiable formula over n variables with high probability in O(n) time [5]. For larger values of k the only worst-case guarantees for pure random walk are exponential. In practice, therefore, the variable to be flipped is chosen from the (randomly selected) unsatisfied clause by some greedy heuristic. A number of such heuristics have been studied. The original Walksat heuristic, denoted “SKC” after the initials of the authors [8], employs the notion of the breakcount of a variable, which is the number of clauses that are currently satisfied that would become unsatisfied if the variable were to be flipped. Similarly, the makecount of a variable is the number of clauses current unsatisfied that would become satisfied. The SKC variable selection heuristic is as follows: (1) If there are variables with breakcount=0, choose one such variable at random. (2) Otherwise, with some fixed probability p select a variable randomly from the clause. (3) Otherwise, pick a variable with minimum breakcount; if there are several such, pick one at random. The first step, checking for any breakcounts of 0, is crucial for good performance of the SKC heuristic. If this step is eliminated and variables are chosen to minimize (breakcount makecount), then the algorithm is similar to GSAT, modulo the fact that variable selection is not done globally, but only after clause selection. The breakcounts and makecounts of all variables can be maintained incrementally, an implementation decision that is crucial for practical efficiency of Walksat. At the start of the algorithm the values are initialized. When a variable x is flipped from true to false, the breakcounts can be updated by (i) visiting each clause that contains x positively; and if the clause now contains single true literal l, incrementing the breakcount of the variable of l; and (ii) visiting each clause containing x negatively; and if the clause now contains exactly one other true literal l, decrementing the the breakcount of the variable of l. Similar operations are performed for the case of flipping from false to true or cal-
منابع مشابه
Efficient Implementations of SAT Local Search
Although most of the focus in SAT local search has been on search behavior (deciding which variable to flip next), the overall efficiency of an algorithm depends greatly on the efficiency of executing each variable flip and variable selection. This paper surveys, evaluates, and extends techniques and data structures that have been used in efficient implementations of SAT local search solvers (i...
متن کاملAdvances in Local Search for Satisfiability
In this paper we describe a stochastic local search (SLS) procedure for finding satisfying models of satisfiable propositional formulae. This new algorithm, gNovelty, draws on the features of two other WalkSAT family algorithms: R+AdaptNovelty and GWSAT, while also successfully employing a dynamic local search (DLS) clause weighting heuristic to further improve performance. gNovelty was a Gold ...
متن کاملCombining Adaptive and Dynamic Local Search for Satisfiability
In this paper we describe a stochastic local search (SLS) procedure for finding models of satisfiable propositional formulae. This new algorithm, gNovelty, draws on the features of two other WalkSAT family algorithms: AdaptNovelty and GWSAT, while also successfully employing a hybrid clause weighting heuristic based on the features of two dynamic local search (DLS) algorithms: PAWS and (R)SAPS....
متن کاملBackbone Guided Local Search for Maximum Satisfiability
Maximum satisfiability (Max-SAT) is more general and more difficult to solve than satisfiability (SAT). In this paper, we first investigate the effectiveness of Walksat, one of the best local search algorithms designed for SAT, on Max-SAT. We show that Walksat is also effective on Max-SAT, while its effectiveness degrades as the problem is more constrained. We then develop a novel method that e...
متن کاملLocal Search for Very Large SAT Problems
The Walksat local search algorithm has previously been extended to handle quantification over variables. This greatly reduces model sizes, but in order to guide greedy moves the algorithm still maintains a set of violated clauses. For very large problems, or at the start of a search, this can cause memory problems. We design a new local search algorithm that does not maintain this set and is th...
متن کاملImproving WalkSAT for Random k-Satisfiability Problem with k > 3
Stochastic local search (SLS) algorithms are well known for their ability to efficiently find models of random instances of the Boolean satisfiablity (SAT) problem. One of the most famous SLS algorithms for SAT is WalkSAT, which is an initial algorithm that has wide influence among modern SLS algorithms. Recently, there has been increasing interest in WalkSAT, due to the discovery of its great ...
متن کامل